home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / cat / catgloba.d < prev    next >
Text File  |  1997-10-26  |  6KB  |  167 lines

  1. DEFINITION MODULE CatGlobal;
  2.  
  3. (* Einfache Basisfunktionen, die in mehreren Modulen gebraucht werden.
  4.  * Am 2.11. CatGlobal und CatUtils zusammengelegt in CatGlobal,
  5.  * da zwei so Minimodule nicht n”tig sind! DS.
  6.  *)
  7.  
  8. FROM SYSTEM IMPORT ADDRESS, LOC;
  9.  
  10. IMPORT CatTypes;
  11.  
  12. FROM GrafBase   IMPORT Rectangle;
  13.  
  14. VAR SavePath  : CatTypes.pathStrType;
  15.     SaveName  : CatTypes.nameStrType;
  16.     OpenName  : CatTypes.nameStrType;
  17.     infPath   : CatTypes.pathStrType;
  18.     infName   : CatTypes.nameStrType;
  19.     prgPath   : CatTypes.pathStrType;
  20.     prgName   : CatTypes.nameStrType;
  21.     userName  : CatTypes.String255;
  22.     
  23. (* Positionen sichern? *)
  24.     saveAllPositions : BOOLEAN;
  25.  
  26. (* Farbeinstellungen fr alle Fenster *)
  27.     editTextCol  : INTEGER;
  28.     editBackCol  : INTEGER;
  29.     viewTextCol  : INTEGER;
  30.     viewBackCol  : INTEGER;
  31.     viewQuoteCol : INTEGER;
  32.     viewQuoteEff : INTEGER;
  33.     listTextCol  : INTEGER;
  34.     listBackCol  : INTEGER;
  35.     listOwnCol   : INTEGER;
  36.     listUnreadCol: INTEGER;
  37.     listOwnEff   : INTEGER;
  38.     listUnreadEff: INTEGER;
  39.     treeTextCol  : INTEGER;
  40.     treeBackCol  : INTEGER;
  41.     treeLineCol  : INTEGER;
  42.     treeUnreadCol: INTEGER;
  43.     treeUnreadEff: INTEGER;
  44.     msgTextCol   : INTEGER;
  45.     msgBackCol   : INTEGER;
  46.     msgHoldCol   : INTEGER;
  47.     msgHoldEff   : INTEGER;
  48.  
  49. (* Nur zum Lesen! *)
  50.     magicMac  : BOOLEAN;    (* ist das hier ein Mac? *)
  51.     magIx     : BOOLEAN;    (* ist Mag!X installiert? *)
  52.     multiGEM  : BOOLEAN;    (* ist MultiGEM (u„„h) installiert? *)
  53.     multiTOS  : BOOLEAN;    (* oder MultiTos *)
  54.     magIxVer  : CARDINAL;   (* Welche Mag!X-Version *)
  55.     magIxDate : LONGCARD;   (* Datum der MagiC-Version im Format jjjjmmtt *)
  56.     multiTask : BOOLEAN;    (* Allgemein Multitasking (Mag!X oder MultiTOS) *)
  57.     minTos14  : BOOLEAN;    (* mindestens TOS 1.4 vorhanden *)
  58.     tos3DLook : BOOLEAN;    (* Hat das AES eine aktive 3D-Darstellung *)
  59.     isMintDomain: BOOLEAN;  (* Wir befinden uns in der Mint-Domain *)
  60.  
  61. PROCEDURE SetColors();
  62. (* Setzt die Farbvariablen auf die in den Configvariablen
  63.  * eingestellten Werte
  64.  *)
  65.  
  66. PROCEDURE busyMouse();
  67. (* Stellt rotierenden Ball dar, bei jedem Aufrug dreht eer sich weiter *)
  68.  
  69. PROCEDURE FullScreenRedraw();
  70. (* Nur fr nicht-MultiTOS geeignet, l”st ein Redraw des gesamten *)
  71. (* Bildschirms beim n„chsten Durchlaufen der Hauptschleife aus   *)
  72.  
  73. PROCEDURE UpdateWindow(doUpdate : BOOLEAN);
  74. (* Sorgt fr die Update-Window Aufrufe. Es ist immer nur garantiert ein 
  75.  * WindUpdate aktiv, keine geschachtelten mehr!
  76.  *)
  77.  
  78. PROCEDURE FselGet(VAR InPath, InSel: ARRAY OF CHAR; REF ext, msg : ARRAY OF CHAR; 
  79.                   pathOnly : BOOLEAN):BOOLEAN;
  80. (* Ausgelagert aus CAT.M, da ich die auch im Editor verwenden kann.
  81.  *)
  82.  
  83. PROCEDURE WithShift (kstate : BITSET) : BOOLEAN;
  84. (* Gibt zurck, ob eine der Shifttasten gedrckt wurde *)
  85.  
  86. PROCEDURE WithCtrl (kstate : BITSET) : BOOLEAN;
  87. (* Gibt zurck, ob Ctrl gedrckt wurde *)
  88.  
  89. PROCEDURE WithAlt (kstate : BITSET) : BOOLEAN;
  90. (* Gibt zurck, ob Alternate gedrckt wurde *)
  91.  
  92. PROCEDURE ConvertTabs (REF source : ARRAY OF CHAR; VAR dest : ARRAY OF CHAR; tabSize : CARDINAL);
  93. (* Expandiert den String zu einem ohne Tabs *) 
  94.  
  95. PROCEDURE ReplaceStr (VAR str : ARRAY OF CHAR; REF s1, s2 : ARRAY OF CHAR);
  96. (* Ersetzt in str alle Vorkommen der Zeichenkette s1 durch s2
  97.  *)
  98.  
  99. PROCEDURE MakeStr(VAR source, dest : ARRAY OF CHAR);
  100. (* Setzt einen neuen String in dest ein und beh„lt die 
  101.  * Shortcuts von dest bei
  102.  *)
  103.  
  104. PROCEDURE CreateBackup (REF fname : ARRAY OF CHAR): BOOLEAN;
  105. (* Wenn die Datei existiert, dann wird aus dieser ein Backup 
  106.  * gemacht.
  107.  *)
  108.  
  109. (*-----------------------------------------------------------------------
  110.  *
  111.  * Pathfree ersetzt MagicDOS.Dfree
  112.  *
  113.  * Durch PathFree wird kontrolliert, wieviel Speicherplatz in einem
  114.  * bestimmten Pfad frei ist. Dabei werden gelinkte Pfade korrekt
  115.  * aufgel”st.
  116.  *
  117.  *-----------------------------------------------------------------------*)
  118. PROCEDURE PathFree(VAR dib : ARRAY OF LOC; VAR Path : ARRAY OF CHAR);
  119.  
  120. PROCEDURE Bing(which : INTEGER);
  121. (* Erzeugt einen Bing-Sound. Gltige Werte sind 0 bis 6, wobei
  122.  * 0 die Systemglocke ist, 1 bis 6 sind eigene Sounds.
  123.  * Werte > 6 fhren ebenfalls zur Systemglocke.
  124.  *)
  125.  
  126. PROCEDURE SetStrings (tree: ADDRESS; from, to : INTEGER; 
  127.                       REF string : ARRAY OF CHAR);
  128. (* Verteilt den String auf verschiedene Textobjekte 
  129.  *)
  130.  
  131. PROCEDURE GetStrings (tree: ADDRESS; from, to: INTEGER; 
  132.                       VAR string : ARRAY OF CHAR); 
  133. (* Umkehrung zu SetStrings, liest die einzelnen Objekte aus und
  134.  * setzt den String zusammen
  135.  *)
  136.  
  137. PROCEDURE SetAppl (REF str: ARRAY OF CHAR);
  138. (* Setzt den Namen der Applikation fr interne Zwecke
  139.  * Der Name muž ohne Extension angegeben werden.
  140.  *)
  141.  
  142. PROCEDURE GetApplPath (VAR path: ARRAY OF CHAR);
  143. (* liefert den Pfad der Applikation, initialisiert dabei die interne
  144.  * Variable. Vorher muž einmal SetAppl aufgerufen werden
  145.  *)
  146.  
  147. PROCEDURE ApplPath (VAR path: ARRAY OF CHAR);
  148. (* liefert den Pfad der Applikation 
  149.  *)
  150.  
  151. PROCEDURE ApplName (VAR name: ARRAY OF CHAR);
  152. (* liefert den Namen der Applikation 
  153.  *)
  154.  
  155. PROCEDURE Konjugiere (REF str1, single, plural: ARRAY OF CHAR; 
  156.                       count: CARDINAL; VAR out: ARRAY OF CHAR);
  157. (* konjugiert ein Wort nach Singular oder Plural
  158.  *)
  159.  
  160. PROCEDURE KurzName (REF name: ARRAY OF CHAR; 
  161.                     VAR ziel: ARRAY OF CHAR; maxLen: CARDINAL);
  162. (* Erzeugt aus einem Benutzernamen ggf. einen auf maxLen
  163.  * verkrzten Namen, der sinnvoll abgekrzt ist
  164.  *)
  165.  
  166. END CatGlobal.
  167.